/*
 * CITS2230 Operating Systems - Programming Project
 * Author:           Guilherme R. Lampert
 * Student number:   21203005
 */

#ifndef __FCFS_SCHEDULER_HPP__
#define __FCFS_SCHEDULER_HPP__

#include "Scheduler.hpp"

// First Come First Served (FCFS) process scheduler.
class FcfsScheduler : public Scheduler {

public:

	FcfsScheduler(int memDumpTimeStep,
			const std::string & procListFile,
			const std::string & outputFile);

	~FcfsScheduler();

private:

	void RunWithMemorySimulation();

	void RunWithoutMemorySimulation();
};

#endif // __FCFS_SCHEDULER_HPP__
